Field
Embodiments relate to software threads. In particular, embodiments relate to threads that access multiple memory controllers.
Background Information
Software is commonly executed as multiple software threads or threads. Commonly, multiple thread processors, each operable to process one or more threads, are included in a device so that multiple threads may be processed concurrently. This helps to increase processing throughput and/or reduce processing time. An operating system typically schedules each thread for processing on a thread processor at the time when the threads are first activated.
Commonly, during operation the threads running on the different thread processors may access data in a shared memory. For example, a thread running on a thread processor may access the shared memory when desired data is not found in a local cache or other local memory. Often, the threads access the shared memory through a shared memory controller that is directly connected to the shared memory.